/**
* 根据协议 建立针脚定义
*
* 如果有引脚更改，直接从该文件进行更改即可
**/
#ifndef __PINDEFINE_H
#define __PINDEFINE_H

#include "gd32f4xx.h"
#include "gd32f4XX_gpio.h"

/*ADC*/
#define P5V_GPIO_GPIO_PORT				GPIOA
#define P5V_GPIO_GPIO_PIN					GPIO_PIN_1

#define P3V3_FPGA_GPIO_PORT		GPIOA
#define P3V3_FPGA_GPIO_PIN		GPIO_PIN_2

#define P1V8_FPGA_GPIO_PORT				GPIOA
#define P1V8_FPGA_GPIO_PIN					GPIO_PIN_3

#define P1V10_FPGA_GPIO_PORT				GPIOA
#define P1V10_FPGA_GPIO_PIN					GPIO_PIN_4

#define GNET_P1V05_GPIO_PORT			GPIOA
#define GNET_P1V05_GPIO_PIN				GPIO_PIN_5

#define P1V8_HT_7A_GPIO_PORT			GPIOA
#define P1V8_HT_7A_GPIO_PIN				GPIO_PIN_6

#define I2C1_TEM_SCL_GPIO_PORT		GPIOA
#define I2C1_TEM_SCL_GPIO_PIN			GPIO_PIN_8
#define I2C1_TEM_SCL_GPIO_AF			GPIO_AF_4			//I2C2 SCL

/*KGL IN*/
#define PG_P3V3_IO_3A_GPIO_PORT 	GPIOA
#define PG_P3V3_IO_3A_GPIO_PIN		GPIO_PIN_9

/*KGL IN*/
#define PG_GNET_P1V05_GPIO_PORT 	GPIOA
#define PG_GNET_P1V05_GPIO_PIN		GPIO_PIN_10

/*KGL IN*/
#define PG_GENT_P1V9_GPIO_PORT 		GPIOA
#define PG_GENT_P1V9_GPIO_PIN			GPIO_PIN_11

/*KGL OUT*/
#define EN_PV8_GPU_GPIO_PORT			GPIOA
#define EN_PV8_GPU_GPIO_PIN				GPIO_PIN_12



#define PG_VDD_1V1_7A_GPIO_PORT		GPIOB
#define PG_VDD_1V1_7A_GPIO_PIN		GPIO_PIN_0

#define EN_VDD_1V1_7A_GPIO_PORT		GPIOB
#define EN_VDD_1V1_7A_GPIO_PIN		GPIO_PIN_1

/*KGL IN*/
#define FPGA_INIT_N_GPIO_PORT 		GPIOB
#define FPGA_INIT_N_GPIO_PIN		GPIO_PIN_5

#define IPMB_B_DAT_GPIO_PORT			GPIOB
#define IPMB_B_DAT_GPIO_PIN				GPIO_PIN_6
#define IPMB_B_DAT_GPIO_AF				GPIO_AF_4	//I2C0_SCL

#define IPMB_B_CLK_GPIO_PORT			GPIOB
#define IPMB_B_CLK_GPIO_PIN				GPIO_PIN_7
#define IPMB_B_CLK_GPIO_AF				GPIO_AF_4	//I2C0_SDA

#define PG_P1V2_HT_7A_GPIO_PORT		GPIOB
#define PG_P1V2_HT_7A_GPIO_PIN		GPIO_PIN_8

#define EN_P1V2_HT_7A_GPIO_PORT		GPIOB
#define EN_P1V2_HT_7A_GPIO_PIN		GPIO_PIN_9

/*SPI*/
#define BMC_SCK_GPIO_PORT					GPIOB
#define BMC_SCK_GPIO_PIN					GP0IO_PIN_10
#define BMC_SCK_GPIO_AF						GPIO_AF_5	//SPI1_SCK

#define EN_P1V1SB_GPIO_PORT				GPIOB
#define EN_P1V1SB_GPIO_PIN				GPIO_PIN_11

#define BMC_SSEL_GPIO_PORT				GPIOB
#define BMC_SSEL_GPIO_PIN					GPIO_PIN_12
#define BMC_SSEL_GPIO_AF					GPIO_AF_5	//SPI1_NSS

#define BMC_MISO_GPIO_PORT				GPIOB
#define BMC_MISO_GPIO_PIN					GPIO_PIN_14
#define BMC_MISO_GPIO_AF					GPIO_AF_5 //SPI1_MISO

#define BMC_MOSI_GPIO_PORT				GPIOB
#define BMC_MOSI_GPIO_PIN					GPIO_PIN_15
#define BMC_MOSI_GPIO_AF					GPIO_AF_5	//SPI1_MOSI



/*KGL IN*/
#define STBY_P1V1SB_GPIO_PORT			GPIOC
#define STBY_P1V1SB_GPIO_PIN			GPIO_PIN_0

#define PG_LS7A_PLL_HT_VDD_GPIO_PORT	GPIOC
#define PG_LS7A_PLL_HT_VDD_GPIO_PIN		GPIO_PIN_1


/*#define EN_LS7A_PLL_HT_GPIO_PORT	GPIOC
#define EN_LS7A_PLL_HT_GPIO_PIN		GPIO_PIN_2*/

/*ADC*/
#define P1V2_FPGA_GPIO_PORT			GPIOC
#define P1V2_FPGA_GPIO_PIN			GPIO_PIN_2

/*KGL IN*/
#define PG_7A1000_P1V2_GPIO_PORT	GPIOC
#define PG_7A1000_P1V2_GPIO_PIN		GPIO_PIN_3

/*KGL OUT*/
#define EN_LS7A_PLL_GPIO_PORT			GPIOC
#define EN_LS7A_PLL_GPIO_PIN			GPIO_PIN_4

#define PG_P1V8_HT_7A_GPIO_PORT		GPIOC
#define PG_P1V8_HT_7A_GPIO_PIN		GPIO_PIN_5

#define EN_P1V8_HT_7A_GPIO_PORT		GPIOC
#define EN_P1V8_HT_7A_GPIO_PIN		GPIO_PIN_6

/*KGL IN*/
#define PG_P5V_GPIO_PORT					GPIOC
#define PG_P5V_GPIO_PIN						GPIO_PIN_7

#define EN_P5V_GPIO_PORT					GPIOC
#define EN_P5V_GPIO_PIN						GPIO_PIN_8

#define I2C1_TEM_SDA_GPIO_PORT		GPIOC
#define I2C1_TEM_SDA_GPIO_PIN			GPIO_PIN_9

#define BMC_7A_RXD1_GPIO_PORT			GPIOC
#define BMC_7A_RXD1_GPIO_PIN			GPIO_PIN_10
#define BMC_7A_RXD1_GPIO_AF				GPIO_AF_8

#define BMC_7A_TXD1_GPIO_PORT			GPIOC
#define BMC_7A_TXD1_GPIO_PIN			GPIO_PIN_11
#define BMC_7A_TXD1_GPIO_AF				GPIO_AF_8

#define YY_RXD_GPIO_PORT					GPIOC
#define YY_RXD_GPIO_PIN						GPIO_PIN_12

/*KGL OUT*/
#define WORKING_STATUS_GPIO_PORT			GPIOC
#define WORKING_STATUS_GPIO_PIN				GPIO_PIN_13

/*RTC*/
#define OSC32_IN_GPIO_PORT				GPIOC
#define OSC32_IN_GPIO_PIN					GPIO_PIN_14

#define OSC32_OUT_GPIO_PORT				GPIOC
#define OSC32_OUT_GPIO_PIN				GPIO_PIN_15



#define PG_P3V3_GPIO_PORT					GPIOD
#define PG_P3V3_GPIO_PIN					GPIO_PIN_0

#define EN_P3V3_GPIO_PORT					GPIOD
#define EN_P3V3_GPIO_PIN					GPIO_PIN_1

#define YY_TXD_GPIO_PORT					GPIOD
#define YY_TXD_GPIO_PIN						GPIO_PIN_2
#define YY_TXD_GPIO_AF						GPIO_AF_8			//UART4_RX

#define EN_P1V2_PLL_3A_GPIO_PORT	GPIOD
#define EN_P1V2_PLL_3A_GPIO_PIN		GPIO_PIN_3

/*#define GPU_PGOOD_GPIO_PORT				GPIOD
#define GPU_PGOOD_GPIO_PIN				GPIO_PIN_4*/

/*KGL OUT*/
#define EN_P1V0_FPGA_GPIO_PORT				GPIOD
#define EN_P1V0_FPGA_GPIO_PIN				GPIO_PIN_4

/*#define EN_GPU_P1V0_CORE_GPU_GPIO_PORT		GPIOD
#define EN_GPU_P1V0_CORE_GPU_GPIO_PIN			GPIO_PIN_5*/

/*KGL IN*/
#define PG_P1V0_FPGA_GPIO_PORT			GPIOD
#define PG_P1V0_FPGA_GPIO_PIN			GPIO_PIN_5

/*#define PG_P1V5_GPU_GPIO_PORT			GPIOD
#define PG_P1V5_GPU_GPIO_PIN			GPIO_PIN_6*/

/*KGL OUT*/
#define EN_P1V2_FPGA_GPIO_PORT			GPIOD
#define EN_P1V2_FPGA_GPIO_PIN			GPIO_PIN_6

/*
#define EN_P1V5_GPU_GPIO_PORT			GPIOD
#define EN_P1V5_GPU_GPIO_PIN			GPIO_PIN_7*/

/*KGL IN*/
#define PG_P1V2_FPGA_GPIO_PORT			GPIOD
#define PG_P1V2_FPGA_GPIO_PIN			GPIO_PIN_7

#define EN_P3V3_IO_3A_GPIO_PORT		GPIOD
#define EN_P3V3_IO_3A_GPIO_PIN		GPIO_PIN_9

/*KGL IN*/
#define P3V3_IO_3A_GPIO_PORT			GPIOD
#define P3V3_IO_3A_GPIO_PIN				GPIO_PIN_10

/*KGL IN*/
#define SYS_CON_N_GPIO_PORT				GPIOD
#define SYS_CON_N_GPIO_PIN				GPIO_PIN_11

/*KGL OUT*/
#define LS3A_RTC_REMRSTN_GPIO_PORT	GPIOD
#define LS3A_RTC_REMRSTN_GPIO_PIN		GPIO_PIN_12

/*KGL OUT*/
#define LS7A_RTC_RSTN_GPIO_PORT		GPIOD
#define LS7A_RTC_RSTN_GPIO_PIN		GPIO_PIN_13

/*KGL OUT*/
#define RESET_DVI_GPIO_PORT				GPIOD
#define RESET_DVI_GPIO_PIN				GPIO_PIN_14

#define PG_P1V2_PLL_3A_GPIO_PORT	GPIOD
#define PG_P1V2_PLL_3A_GPIO_PIN		GPIO_PIN_15




#define LS3A_UART0_TXD_GPIO_PORT	GPIOE
#define LS3A_UART0_TXD_GPIO_PIN		GPIO_PIN_0
#define LS3A_UART0_TXD_GPIO_AF		GPIO_AF_8	//UART7_RX

#define LS3A_UART0_RXD_GPIO_PORT	GPIOE
#define LS3A_UART0_RXD_GPIO_PIN		GPIO_PIN_1
#define LS3A_UART0_RXD_GPIO_AF		GPIO_AF_8 	//UART7_TX

/*
#define PG_P1V8_GPU_GPIO_PORT			GPIOE
#define PG_P1V8_GPU_GPIO_PIN			GPIO_PIN_2

#define PG_P3V3_GPU_GPIO_PORT			GPIOE
#define PG_P3V3_GPU_GPIO_PIN			GPIO_PIN_3

#define EN_P3V3_GPU_GPIO_PORT			GPIOE
#define EN_P3V3_GPU_GPIO_PIN			GPIO_PIN_4*/

/*KGL IN*/
#define PG_P1V8_FPGA_GPIO_PORT			GPIOE
#define PG_P1V8_FPGA_GPIO_PIN			GPIO_PIN_2

/*KGL IN*/
#define PG_P3V3_FPGA_GPIO_PORT			GPIOE
#define PG_P3V3_FPGA_GPIO_PIN			GPIO_PIN_3

/*KGL IN*/
#define FPGA_DONE_GPIO_PORT			GPIOE
#define FPGA_DONE_GPIO_PIN			GPIO_PIN_4

#define PG_P3V3_IO_7A_GPIO_PORT		GPIOE
#define PG_P3V3_IO_7A_GPIO_PIN		GPIO_PIN_5

#define EN_P3V3_IO_7A_GPIO_PORT		GPIOE
#define EN_P3V3_IO_7A_GPIO_PIN		GPIO_PIN_6

#define BMC_RXD1_GPIO_PORT				GPIOE
#define BMC_RXD1_GPIO_PIN					GPIO_PIN_7
#define BMC_RXD1_GPIO_AF					GPIO_AF_8	//UART6_RX

#define BMC_TXD1_GPIO_PORT				GPIOE
#define BMC_TXD1_GPIO_PIN					GPIO_PIN_8
#define BMC_TXD1_GPIO_AF					GPIO_AF_8	//UART6_TX

/*PWM*/
#define BUZZER_GPIO_PORT					GPIOE
#define BUZZER_GPIO_PIN						GPIO_PIN_9
#define BUZZER_GPIO_AF						GPIO_AF_1	//WPM Timer0_Ch0

#define CPU_GA0_N_GPIO_PORT				GPIOE
#define CPU_GA0_N_GPIO_PIN				GPIO_PIN_10

#define CPU_GA1_N_GPIO_PORT				GPIOE
#define CPU_GA1_N_GPIO_PIN				GPIO_PIN_11

#define CPU_GA2_N_GPIO_PORT				GPIOE
#define CPU_GA2_N_GPIO_PIN				GPIO_PIN_12

#define CPU_GA3_N_GPIO_PORT				GPIOE
#define CPU_GA3_N_GPIO_PIN				GPIO_PIN_13

#define CPU_GA4_N_GPIO_PORT				GPIOE
#define CPU_GA4_N_GPIO_PIN				GPIO_PIN_14

#define CPU_GAP_N_GPIO_PORT				GPIOE
#define CPU_GAP_N_GPIO_PIN				GPIO_PIN_15




/*T2C*/
#define IPMB_A_DAT_GPIO_PORT			GPIOF
#define IPMB_A_DAT_GPIO_PIN				GPIO_PIN_0
#define IPMB_A_DAT_GPIO_AF				GPIO_AF_4	//I2C1_SDA

#define IPMB_A_CLK_GPIO_PORT			GPIOF
#define IPMB_A_CLK_GPIO_PIN				GPIO_PIN_1
#define IPMB_A_CLK_GPIO_AF				GPIO_AF_4	//I2C1_SCL

/*ADC*/
#define P1V15_CORE_3A_GPIO_PORT		GPIOF
#define P1V15_CORE_3A_GPIO_PIN		GPIO_PIN_3

#define P1V5_VDDQ_3A_GPIO_PORT		GPIOF
#define P1V5_VDDQ_3A_GPIO_PIN			GPIO_PIN_4

#define P1V8_3A_GPIO_PORT					GPIOF
#define P1V8_3A_GPIO_PIN					GPIO_PIN_5

#define VDD_1V1_7A_GPIO_PORT			GPIOF
#define VDD_1V1_7A_GPIO_PIN				GPIO_PIN_6

#define P1V5_VDDQ_7A_GPIO_PORT		GPIOF
#define P1V5_VDDQ_7A_GPIO_PIN			GPIO_PIN_7

#define P3V3_IO_7A_GPIO_PORT			GPIOF
#define P3V3_IO_7A_GPIO_PIN				GPIO_PIN_8

#define P1V2_HT_7A_GPIO_PORT			GPIOF
#define P1V2_HT_7A_GPIO_PIN				GPIO_PIN_9

#define P3V3_GPIO_PORT						GPIOF
#define P3V3_GPIO_PIN							GPIO_PIN_10

#define EN_P1V8_PLL_3A_GPIO_PORT	GPIOF
#define EN_P1V8_PLL_3A_GPIO_PIN		GPIO_PIN_11

#define PG_P1V8_PLL_3A_GPIO_PORT	GPIOF
#define PG_P1V8_PLL_3A_GPIO_PIN		GPIO_PIN_12

/*GPIO in*/
#define NWRESET_WDREQ_GPIO_PORT		GPIOF
#define NWRESET_WDREQ_GPIO_PIN		GPIO_PIN_13

#define SYSRESET_IN_N_GPIO_PORT		GPIOF
#define SYSRESET_IN_N_GPIO_PIN		GPIO_PIN_14

#define SYSRESET_OUT_N_GPIO_PORT	GPIOF
#define SYSRESET_OUT_N_GPIO_PIN		GPIO_PIN_15

/*out*/
#define CPU_PWR_GOOD_GPIO_PORT		GPIOG
#define CPU_PWR_GOOD_GPIO_PIN			GPIO_PIN_0

/*in*/
#define LS7A_LPC_RST_GPIO_PORT		GPIOG
#define LS7A_LPC_RST_GPIO_PIN			GPIO_PIN_1
/*out*/
#define SATA_RST_GPIO_PORT				GPIOG
#define SATA_RST_GPIO_PIN					GPIO_PIN_2

/*out*/
#define BMC_RESET_GPIO_PORT				GPIOG
#define BMC_RESET_GPIO_PIN				GPIO_PIN_3

//out
#define LS7A_ACPI_PWRBTNN_GPIO_PORT	GPIOG
#define LS7A_ACPI_PWRBTNN_GPIO_PIN	GPIO_PIN_4


#define _7A_PWR_GOOD_GPIO_PORT		GPIOG
#define _7A_PWR_GOOD_GPIO_PIN			GPIO_PIN_5

//in
#define LS7A_SYS_RESET_GPIO_PORT				GPIOG
#define LS7A_SYS_RESET_GPIO_PIN				GPIO_PIN_6

#define EN_P1V15_CORE_3A_GPIO_PORT	GPIOG
#define EN_P1V15_CORE_3A_GPIO_PIN		GPIO_PIN_7

#define PG_P1V15_CORE_3A_GPIO_PORT	GPIOG
#define PG_P1V15_CORE_3A_GPIO_PIN		GPIO_PIN_8

#define EN_P1V5_VDDQ_3A_GPIO_PORT		GPIOG
#define EN_P1V5_VDDQ_3A_GPIO_PIN		GPIO_PIN_9

#define PG_P1V5_VDDQ_3A_GPIO_PORT		GPIOG
#define PG_P1V5_VDDQ_3A_GPIO_PIN		GPIO_PIN_10

#define PG_P1V8_3A_GPIO_PORT				GPIOG
#define PG_P1V8_3A_GPIO_PIN					GPIO_PIN_11

#define EN_P1V8_3A_GPIO_PORT				GPIOG
#define EN_P1V8_3A_GPIO_PIN					GPIO_PIN_12

#define PG_P1V5_VDDQ_7A_GPIO_PORT		GPIOG
#define PG_P1V5_VDDQ_7A_GPIO_PIN		GPIO_PIN_13

#define EN_P1V5_VDDQ_7A_GPIO_PORT		GPIOG
#define EN_P1V5_VDDQ_7A_GPIO_PIN		GPIO_PIN_14

//out
/*#define RST_GPU_GPIO_PORT						GPIOG
#define RST_GPU_GPIO_PIN						GPIO_PIN_15*/

/*KGL OUT*/
#define RST_FPGA_GPIO_PORT						GPIOG
#define RST_FPGA_GPIO_PIN						GPIO_PIN_15

#endif
